﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.IO;

namespace QUANLYNHASACH
{
    class connection_string
    {
        public static String svName = ".";
        public static String dbName = "QUANLYNHASACH";
        public static bool intergratedMode = false;
        public static String userName = "sa";
        public static String pwd = "123";
        public static string _connPath = "config.txt";


        //thuộc tính
        SqlConnection sqlconn;

        #region khởi tạo chuỗi kết nối
        public connection_string(string svrName, string dbName, bool intergratedMode, string usrName, string pwd)
        {
            string connStr;
            if (intergratedMode == true)
            {
                //đăng nhập sql server sử dụng windows authentication mode
                connStr = "server" + svrName + "; database =" + dbName + "; IntergratedSecurity = True";
            }
            else
            {
                //đăng nhập sql server sử dụng sql server authentication mode
                connStr = "server=" + svrName + "; uid=" + usrName + "; pwd=" + pwd + " ;database=" + dbName;
            }


            //thiết lập chuỗi kết nối
            sqlconn = new SqlConnection(connStr);
        }
        #endregion

        #region Thực thi câu truy vấn sql trả về bảng
        public DataTable Execute(string strQuery)
        {

            SqlDataAdapter da = new SqlDataAdapter(strQuery, sqlconn);

            DataSet ds = new DataSet();

            da.Fill(ds);

            return ds.Tables[0];
        }
        #endregion

        #region Thực hiện câu truy vấn ko trả về bảng
        public void ExecuteNonQuery(string strquery)
        {
            //thực hiện câu truy vấn
            SqlCommand sqlcom = new SqlCommand(strquery, sqlconn);

            sqlconn.Open(); //Mở kết nối
            sqlcom.ExecuteNonQuery(); //Thực hiện câu lệnh truy vấn đã cung cấp ở trên
            sqlconn.Close(); //Đóng kết nối
        }
        #endregion



        #region ExecuteScalar
        public int ExecuteScalar(string strquery)
        {
            Int32 count = 0;

            //SqlCommand là đối tượng chuyên đảm nhận việc thực hiện các câu lệnh truy vấn
            SqlCommand sqlcom = new SqlCommand(strquery, sqlconn);
            sqlconn.Open();
            count = (Int32)sqlcom.ExecuteScalar();
            //Thực hiện câu lệnh truy vấn đã cung cấp ở trên
            sqlconn.Close(); //Đóng kết nối
            return (int)count;
        }
        #endregion



    }
}
